Effect of killing cross-terms

Nicholas Wheeler
7 December 2009

Technique for constructing random 3×3 hermitian matrices:

In 2-dimensions I would find it most natural to construct hermitian matrices by exploiting properties of the Pauli matrices, which provide an algebraically convenient basis in the space of such matrices. It is to avoid being diverted from generalities by results that are special to the 2D case that I work in 3D. My objective, of course, is to be in position to construct matrices that represent arbitrary Hamiltonians and other observables.

?RandomComplex

3D instance of a procedure that works in any dimension:

M=RandomComplex[1+I,{3,3}];
𝕄=M+Conjugate[Transpose[M]];

𝕄//Chop//MatrixForm

The hermiticity of the preceding matrix is manifest.

We look to the spectral properties of 𝕄:

Chop[Eigenvalues[𝕄]]

λ[k_]:=Chop[Eigenvalues[𝕄]][[k]]

λ[1]
λ[2]
λ[3]

u[k_]:=Transpose[{Eigenvectors[𝕄][[k]]}]

u[1]//MatrixForm
u[2]//MatrixForm
u[3]//MatrixForm

Chop[Conjugate[Transpose[u[1]]].u[1]][[1]][[1]]
Chop[Conjugate[Transpose[u[2]]].u[2]][[1]][[1]]
Chop[Conjugate[Transpose[u[3]]].u[3]][[1]][[1]]
Chop[Conjugate[Transpose[u[1]]].u[2]][[1]][[1]]
Chop[Conjugate[Transpose[u[2]]].u[3]][[1]][[1]]
Chop[Conjugate[Transpose[u[3]]].u[1]][[1]][[1]]

We see that Mathematica adjusts the overall phase so that the leading element of the leading eigenvector is real, and and automatically normalizes the vectors.

I demonstrate that the eigenvalue/eigenvector indices are properly coordinated:

𝕄.u[1]-λ[1]u[1]//Chop//MatrixForm
𝕄.u[2]-λ[2]u[2]//Chop//MatrixForm
𝕄.u[3]-λ[3]u[3]//Chop//MatrixForm

I construct projectors onto the respective eigenspaces

ℙ[k_]:=u[k].Conjugate[Transpose[u[k]]]

and demonstrate that these matrices (1) are in fact projective

Table[ℙ[k].ℙ[k]-ℙ[k]//Chop//MatrixForm,{k,1,3}]

(2) orthogonal

{MatrixForm[Chop[ℙ[1].ℙ[2]]],MatrixForm[Chop[ℙ[2].ℙ[3]]],MatrixForm[Chop[ℙ[3].ℙ[1]]]}

(3) and complete

ℙ[1]+ℙ[2]+ℙ[3]//Chop//MatrixForm

Information now in hand permit us to present the spectral decomposition of 𝕄:

λ[1]ℙ[1]+λ[2]ℙ[2]+λ[3]ℙ[3]-𝕄//Chop//MatrixForm

We have here displayed 𝕄 as a spectrally weighted sum of orthogonal projection matrices.

Technique for constructing random state vectors and associated density matrices:

One could construct a random hermitian matrix, then select one of its eigenvectors, which as we have seen is certain to be an already-normalized complex vector. 

The following nest of commands permits one to construct normalized complex column vectors with a single keystroke:

RandomComplex[1+I,{3,1}];
Transpose[%][[1]];
Normalize[%];
ψ=Conjugate[Transpose[{%}]];

ψ//MatrixForm

To demonstrate normality, command

Chop[Conjugate[Transpose[ψ]].ψ][[1]][[1]]

The associated density matrix is

ρ=Chop[ψ.Conjugate[Transpose[ψ]]];

ρ//MatrixForm

which is manifestly hermitian, projective

Chop[ρ.ρ-ρ]//MatrixForm

and is seen from

Tr[ρ]

to project onto a one-space; in fact it projects onto the ψ-ray:

Chop[ρ.ψ-ψ]//MatrixForm

Which is to say: ρ refers to a pure state.

Construction of density matrices that refer to arbitrary mixtures:

Density matrices that refer to impure states share these general properties: they are hermitian, have non-negative eigenvalues that sum to unity. To construct such a matrix, we note that if ℝ is hermitian then so is its square, and the eigenvalues of its square (squares of the real eigenvalues of ℝ) are necessarily real and non-negative. To complete the construction we have only to normalize the square in a trace-wise sense:

R=RandomComplex[1+I,{3,3}];
ℝ=R+Conjugate[Transpose[R]];
ρ=Chop[((ℝ.ℝ)/(Tr[ℝ.ℝ]))];
ρ//MatrixForm

Hermiticity is manifest, and the spectrum has the desired structure.

Eigenvalues[ρ]//Chop

Tr[ρ]

Such matrices ρ are typically NOT projective, which is clear already from the spectrum (all the eigenvalues of projection matrices are either 0 or 1, with the number of 1s equal to the dimension of the space onto which the matrix projects).

ρ can be developed as a weighted sum of projectors in MANY ways (quantum mixtures cannot be resolved uniquely into their component parts), but we do, in particular, have the spectral decomposition—peoduced here by a single keystroke:

r[k_]:=Transpose[{Eigenvectors[ρ][[k]]}];
μ[k_]:=Chop[Eigenvalues[ρ]][[k]];
ℚ[k_]:=r[k].Conjugate[Transpose[r[k]]];
Chop[(∑_(k=1)^3)μ[k]ℚ[k]]

I demonstrate that this weighted sum of projectors ℚ[k] does indeed recreate ρ:

MatrixForm[Chop[%-ρ]]

Construction of an arbitrary Hamiltonian and the associated unitary propagator:

H=RandomComplex[1+I,{3,3}];
ℍ=H+Conjugate[Transpose[H]];

ℍ//Chop//MatrixForm

𝕌[t_]:=Simplify[ComplexExpand[Chop[MatrixExp[-I ℍ t]]]]

𝕌[t]

𝕌[0]//MatrixForm

𝕌adjoint[t_]:=Simplify[ComplexExpand[Chop[Conjugate[Transpose[MatrixExp[-I ℍ t]]]]]]

(𝕌adjoint[t]-𝕌[-t])//Simplify//Chop//MatrixForm

𝕌[t].𝕌adjoint[t]//FullSimplify//Chop//MatrixForm

Dynamical motion of the density matrix:

CompConj[A_] := A /.Complex[0,n_]->-Complex[0,n]

ρρ[t_]:=Simplify[𝕌[t].ρ.𝕌adjoint[t]]

ρρ[t]//ComplexExpand//FullSimplify//Chop

We construct a random observable:

A=RandomComplex[1+I,{3,3}];
𝔸=A+Conjugate[Transpose[A]];
α[k_]:=Chop[Eigenvalues[𝔸]][[k]]
a[k_]:=Transpose[{Eigenvectors[𝔸][[k]]}]
𝕎[k_]:=a[k].Conjugate[Transpose[a[k]]]

We verify that these results do in fact yield the spectral decomposition of 𝔸:

Chop[𝔸-(∑_(k=1)^3)α[k]𝕎[k]]//MatrixForm

The moving expectation value of 𝔸:

The moving expectation value:

ExpectedA[t_]:=Chop[ComplexExpand[Conjugate[Transpose[State[t]]].𝔸.State[t]][[1]][[1]]]

ExpectedA[t]

Fig1=Plot[ExpectedA[t],{t,0,60}]

Density matrix:

(Subscript[ρ, 0])=ComplexExpand[(Subscript[ψ, 0]).Conjugate[Transpose[(Subscript[ψ, 0])]]]//Chop

MatrixForm[(Subscript[ρ, 0])]

Tr[(Subscript[ρ, 0])]

ρ[t_]:=ComplexExpand[State[t].Conjugate[Transpose[State[t]]]]//Chop

ρ[0]

Tr[ρ[t]]//Simplify//Chop

Tr[𝔸.ρ[t]]//Simplify//Chop

Fig2=Plot[1.4206041895790176`+0.04063095136927784` Cos[0.5827840921930183` t]+0.1603105206830209` Cos[2.4484646760748454` t]+0.734818245707444` Cos[3.0312487682678637` t]-0.0084714644211495` Sin[0.5827840921930183` t]+0.03134617643494404` Sin[2.4484646760748454` t]-0.12682693134008766` Sin[3.0312487682678637` t],{t,0,60}]

Show[Fig1, Fig2]

We kill the off-diagonal elements (which is to say: all the interference terms)

?Diagonal

Diagonal[(Subscript[ρ, 0])]

(({{a1, a2, a3}, {b1, b2, b3}, {c1, c2, c3}}))

{{Diagonal[(Subscript[ρ, 0])][[1]],0,0},{0,Diagonal[(Subscript[ρ, 0])][[2]],0},{0,0,Diagonal[(Subscript[ρ, 0])][[3]]}}//MatrixForm

R[t_]:={{Diagonal[ρ[t]][[1]],0,0},{0,Diagonal[ρ[t]][[2]],0},{0,0,Diagonal[ρ[t]][[3]]}}

Tr[𝔸.R[t]]//Simplify//Chop

Plot[0.6308099912082596`+0.03986687415676307` Cos[0.5827840921930183` t]+0.14182107817986891` Cos[2.4484646760748454` t]+0.09627668554402627` Cos[3.0312487682678637` t]-0.04704522650676235` Sin[0.5827840921930183` t]-0.03859053009749735` Sin[2.4484646760748454` t]-0.1175399614770487` Sin[3.0312487682678637` t],{t,0,60}]

R1[t_]:={{Diagonal[ρ[t]][[1]],0,0},{0,0,0},{0,0,0}}
R2[t_]:={{0,0,0},{0,Diagonal[ρ[t]][[2]],0},{0,0,0}}
R3[t_]:={{0,0,0},{0,0,0},{0,0,Diagonal[ρ[t]][[3]]}}

f1[t_]:=Tr[𝔸.R1[t]]//Simplify//Chop
f2[t_]:=Tr[𝔸.R2[t]]//Simplify//Chop
f3[t_]:=Tr[𝔸.R3[t]]//Simplify//Chop

f1[t]

Plot[Evaluate[{f1[t],f2[t],f3[t]}],{t,0,60}]

Plot[Evaluate[{f1[t]+f2[t]+f3[t]}],{t,0,60}]